package com.wltt.product.ahuthr.service;

import com.wltt.product.ahuthr.model.ResultData;
import com.wltt.product.ahuthr.model.po.SystemUserPO;
import com.wltt.product.ahuthr.model.vo.ActivateReq;
import com.wltt.product.ahuthr.model.vo.LoginReq;
import com.wltt.product.ahuthr.model.vo.RegisterSystemUserReq;
import com.wltt.product.ahuthr.service.base.BaseService;
import jakarta.servlet.http.HttpServletRequest;

import java.security.NoSuchAlgorithmException;


/**
 * @ClassName: SystemUserService
 * @Description: 逻辑服务类<br />
 * @Date: 2024-08-23 18:11:07
 * @Author yanggl
 */
public interface SystemUserService extends BaseService<SystemUserPO, Long> {

    /**
     * 注册
     *
     * @return
     */
    ResultData register(RegisterSystemUserReq registerSystemUserReq) throws NoSuchAlgorithmException;

    /**
     * 登录
     *
     * @return
     */
    ResultData login(HttpServletRequest request, LoginReq loginReq) throws NoSuchAlgorithmException;

    /**
     * 获取当前登录人信息
     *
     * @return
     */
    ResultData currentUserInfo(HttpServletRequest request);

    /**
     * 登出
     *
     * @return
     */
    ResultData loginOut(HttpServletRequest request) throws NoSuchAlgorithmException;

    /**
     * 激活
     *
     * @return
     */
    ResultData activate(HttpServletRequest request, ActivateReq activateReq) throws NoSuchAlgorithmException;

}